home *** CD-ROM | disk | FTP | other *** search
- FileIndexer 1.3
- ---------------
-
- I really miss OnLocation. (It doesn't run reliably under system 7.5). They have recently
- released a server version, but I want a personal indexer.
-
- This is my simplistic attempt to knock up some of the key functionality I'm looking for.
-
- In a multi-user environment, where you have budget for a server, I recommend
- AppleSearch for indexing your documents. I wanted to have a way to quickly retrieve
- a list of documents on a mounted disk that contain a given word.
-
- FileIndexer trades memory for speed. It builds a sorted list of unique words
- (not case sensitive), and then keeps a list of the files that contain each word.
-
- This list of lists is kept in memory. This makes it VERY fast to do the binary search.
- You can save the index to a file and load it reasonably quickly.
-
- Run FileIndexer, choose Index folder, and select the top folder in a tree of
- text files to be indexed. Claris XTND can be used (if available) to read documents.
- You need to turn it on in the preferences dialog to use it. Note that some documents,
- in my experience, will hang XTND. (I have no control over this). If the beach ball
- cursor times out and stops, you are probably stuck. The offending document name
- is left displayed in the status field.
-
- When done, type a single word into the find field and press return. A list of all
- the files that contain that word will be displayed. The first occurence of the word
- will be shown in context. An info checkbox lets you see file mod date and the full
- path to the file as an alternative.
-
- Double-click on the file to open the first 32k of it in a text window. You can choose
- to view the document in it's original app or the app of your choice.
-
- From the text window you can use Find or Find again (command-G) to locate the word
- you searched for.
-
- I built a PowerPC native version but it was slower! Probably due to my heavy use
- of the non-native file manager.
-
- Limitations
- -----------
-
- o Only searches for one word at a time.
- o Can't currently index read only volumes.
- o 68020 and above. (Contact me if you want 68000)
- o Requires System 7.
-
- To Do
- -----
-
- o Index the "sound" of words (use soundex etc).
- o Move the in memory list to a disk based database!
- o Handle multiple words with AND and OR.
- o Able to exclude certain folders containing a given string.
-
- Tools
- -----
-
- o Metrowerks Codewarrior 8
- o MacApp 3.3
- o ObjectMaster
-
- History (DD/MM/YY)
- -------
-
- 22/12/95 Turned off qTheDebugger & qInspector
- 27/12/95 Ditched Insert() when reading files. Load speed 21s down to 3s!
- 27/12/95 Sped up indexing thanks to Metrowerks code profiler.
- Release of version 1.0
- 28/12/95 Started on 1.1
- Indexing done in a cohandler so time is given to other apps.
- It's a bit slower but is nicer to other apps and allows context switches etc.
- Plays a sound when indexing is done.
- Reduced RAM overhead of index slightly.
- Added a "stop words" feature to exclude common non-interesting words.
- Added printing of the document window.
- 30/12/95 Release of version 1.1
- Started on 1.2b1
- 06/01/96 Fixed write to nil during startup.
- Added extra preferences: stem, xtnd, view options. (Doc version to 3).
- 07/01/96 Added support for Claris XTND to index and display documents.
- 07/01/96 Shipped 1.2b1 to beta testers, started 1.2b2
- Added arrowKeyselection behavior to file list view.
- Return and enter now simulate a double click.
- Did some work on the printing, headers & footers etc.
- Fixed home & end keys by applying patch to UScroller.
- Fixed the open in chosen app feature.
- Made the document dirty after preference change.
- Switched to a Hash index rather than storing words.
- - Old test index: 275k, now is 176k
- - This produces some bogus hits, will look for better hash functions
- Bumped file version as no longer compatable.
- 08/1/96 - Bumped to 1.2b3
- - Found a problem with errors during XTND reads.
- - Added user option to not use XTND, Changed file version.
- - Switched to MacApp's memory allocator.
- - Added a filter to remove TEXT files that shouldn't be indexed,
- such as acrobat '.pdf' files. (Others??)
- - Reduced index size by removing hit count field. 275k -> 176k -> 154k
- - Fixed a bug when indexing a single file.
- - Fixed a bug relating to the stop words compare function.
- - Removed the show word list functionality (no point with hashing).
- - Added a warning if you try to look for more than one word.
- 09/01/96 - Cleaned up what happens if you close a doc that's indexing.
- - Fixed up out of memory failure crash. Now gives message.
- - Improved the open in app etc functions that sometimes didn't correctly
- find the Finder process.
- 10/01/96 - Bumped to 1.2b4
- - Changed doc version number
- - Tried Dave Abraham's better hash function
- - Found a bug in AddWord(). (Wrong compare parameter structure used).
- - Implemented word stemming
- - Shipped a version to Al.
- - Improved the about box.
- 11/01/96 - Bumped to 1.2 final ready for testing and release.
- - Released to Info-mac archives.
- 12/10/96 - Bumbed to 1.3b1
- - Added barber pole display to thermometers during unknown length operations
- - Improved memory allocator for the TMiniFile class (thanks Jim Coplien!)
- My test folder has 24,000 of these objects to delete.
- 13/01/96 - Show found word in context feature added.
- - Found small memory leak when closing document.
- - Improved user feedback during file and folder count phase
- - Distributed to test list.
- 14/01/96 - Made the text drag and dropable
- - Added a drop small icon for indexing folders by dropping them on it
- Clicking it shows the choose index folder dialog.
- - Removed all shorts to get rid of 32k limits. Bumped file version.
- - Added appleScript support (index folder not working yet).
- - Made the barber pole animate the other way.
- - Took out my operator new as it leaks.
- 16/01/96 - Bumbed to 1.3b2
- - Switched to Metrowerks CW 8 (code got smaller by about 80k!).
- 19/01/96 - Enter now searches same as return (thanks geo)
- - Added scroll to found word preference, bumped file version
- - After a successful search, select the first hit in the list
- - You can now drop a folder or file anywhere in the window to index.
- - Optimised indexing slightly by removing an object new/delete each time
- 21/01/96 - Sent to beta testers before general release.
- - Bumped to 1.3b3
- - Removed appleScript support for now due to overhead
- (this will come back in the database version).
- - Removed some unused resources.
- - Built with symbols off to reduce size.
- 26/01/96 - Release of 1.3 to InfoMac
-
-
- (c) 1995,1996 Peter Marks
- Suggestions for future enhancements most welcome, but I make no guarantee of support.
- This freeware is supplied as is, use at your own risk.
- Please contact me for permission to include on commercial collections.
-
- mailto: Peter.Marks@PoBox.com
-
- Acknowledgements
- ----------------
-
- Thanks for support to:
-
- Gregory Kearney, Allan Herman, Alastair Rankine, Geert Jan Bex, Keith F. Batchelder,
- tony stevenson, Federico Cavaglia', Farhad Anklesaria, Dave Abrahams, MetaTheory,
- Jim Coplien, George Bray, you...
-